home *** CD-ROM | disk | FTP | other *** search
- /*
-
- Count V1.0
-
- (c) 1996 PANDEMONIUM
-
- written by Jan 'Halfbyte' Krutisch (halfbyte@arda.shnet.org)
-
- This is Public Domain. Only THIS special Version is copyrighted.
- Be fair and credit me...
-
- */
-
- MODULE 'dos/dos', 'dos/rdargs','dos/dosextens'
-
- PROC main()
-
- DEF args=NIL :PTR TO rdargs, -> My Arg-Pointer
- myargs :PTR TO LONG, -> The array of args
- step, -> The step-count
- varname[30] :STRING, -> Name of the ENV-Var
- filename[40] :STRING, -> Complete Filename
- lock :PTR TO filelock, -> Lock of ENVVAR
- file :PTR TO filehandle, -> File of EnvVar
- line[80] :STRING, -> Line in ENV-File
- output, -> The number
- dummy -> Just as it says...
-
- DEF varstring[30] :STRING
-
- -> Defining Version Number
-
- StrCopy(varstring,'$VER: Count 1.0 (24.3.96)')
-
- -> ************** ReadArgs Magic :)
-
- myargs:=[0,0]
- args:=ReadArgs('V=VAR/K,S=STEP/N/K',myargs,NIL)
- IF args<>NIL
- IF myargs[0]<>NIL
- StrCopy(varname,myargs[0],30)
- ELSE
- StrCopy(varname,'COUNT_DEF')
- ENDIF
-
- IF myargs[1]<>NIL
- step:=Long(myargs[1])
- ELSE
- step:=1
- ENDIF
- FreeArgs(args)
- ENDIF
-
- -> Setting Default Value
-
- output:=0
-
- -> ************ Getting whole ENV-VAR-Path (Do it with AddPart !!! )
-
- StrCopy(filename,'ENV:')
- StrAdd(filename,varname,20)
-
- -> ************ Reading ENV-Var
-
- lock:=Lock(filename,EXCLUSIVE_LOCK)
- IF lock
- file:=OpenFromLock(lock)
- IF file
- dummy:=Fgets(file,line,20)
- Close(file)
- ENDIF
- UnLock(lock)
- ENDIF
-
- -> ************ Calculation (Using the secret "Add" algorythm)
-
- output:=Val(line)
- output:=output+step
- StringF(line,'\d',output)
-
- -> ************ Writing ENV VAR Back
-
- IF EstrLen(varname)<>0
-
- file:=Open(filename,MODE_NEWFILE)
- IF file
- Fputs(file,line)
- Close(file)
- ENDIF
-
- -> ************ Doing STDOUT-Output for direct CLI-Usage
-
- WriteF('\z\d',output)
- dummy:=0
-
- ELSE
-
- WriteF('Wrong options or missing values.\n Please check\n')
- dummy:=20
- ENDIF
-
- ENDPROC dummy -> Thats was it !!!!
-
-